import { IntersectionType, OmitType, PartialType, PickType } from '@nestjs/swagger'
import { ListPaginationDto } from '@/shared/types/globalDto.dto'
import { WheelTask } from '../entities/wheel-task.entity'

export class CreateWheelTaskDto extends OmitType(WheelTask, ['wheelTaskId', 'createdAt', 'updatedAt']) {}

export class UpdateWheelTaskDto extends PartialType(OmitType(WheelTask, ['createdAt', 'updatedAt'])) {}

export class FindOneWheelTaskDto extends PartialType(WheelTask) {}

export class ListPageWheelTaskDto extends PartialType(IntersectionType(FindOneWheelTaskDto, ListPaginationDto)) {}

export class WebListPageWheelTaskDto extends ListPageWheelTaskDto {}

export class CompleteWheelTaskDto extends PickType(WheelTask, ['wheelTaskId']) {}
